export { default as Animation } from './Animation';
export { default as AnimationGroup } from './AnimationGroup';

export const CONSTANTS = {
  NONE: {
    animation: {
      0: {
        opacity: 1,
      },
      1: {
        opacity: 1,
      },
    },
    duration: 10,
  },
  FADE_IN: {
    animation: {
      0: {
        opacity: 0,
      },
      1: {
        opacity: 1,
      },
    },
    duration: 200,
  },
  FADE_OUT: {
    animation: {
      0: {
        opacity: 1,
      },
      1: {
        opacity: 0,
      },
    },
    duration: 200,
  },
  SLIDE_IN_UP: {
    animation: {
      0: {
        opacity: 0,
        translateY: 30,
      },
      1: {
        opacity: 1,
        translateY: 0,
      },
    },
    duration: 300,
  },
  SLIDE_IN_UP_ALL: {
    animation: {
      0: {
        opacity: 0,
        translateY: 100,
      },
      1: {
        opacity: 1,
        translateY: 0,
      },
    },
    duration: 300,
  },
  SLIDE_OUT_LEFT: {
    animation: {
      0: {
        opacity: 1,
        translateX: 0,
      },
      1: {
        opacity: 0,
        translateX: -30,
      },
    },
    duration: 300,
  },
  SLIDE_OUT_DOWN: {
    animation: {
      0: {
        opacity: 1,
        translateY: 0,
      },
      1: {
        opacity: 0,
        translateY: 30,
      },
    },
    duration: 300,
  },
  SLIDE_OUT_DOWN_ALL: {
    animation: {
      0: {
        opacity: 1,
        translateY: 0,
      },
      1: {
        opacity: 0,
        translateY: 100,
      },
    },
    duration: 300,
  },
  ZOOM_IN_DOWN: {
    animation: {
      0: {
        opacity: 0.5,
        translateY: -60,
        scale: 0.95,
      },
      1: {
        opacity: 1,
        translateY: 0,
        scale: 1,
      },
    },
    duration: 300,
  },
  ZOOM_IN: {
    animation: {
      0: {
        opacity: 0,
        scale: 0.95,
      },
      1: {
        opacity: 1,
        scale: 1,
      },
    },
    duration: 200,
  },
  ZOOM_OUT: {
    animation: {
      0: {
        opacity: 1,
        scale: 1,
      },
      1: {
        opacity: 0,
        scale: 1.05,
      },
    },
    duration: 200,
  },
  ZOOM_IN_UP_RIGHT: (height) => ({
    animation: {
      0: {
        opacity: 0,
        scale: 0.75,
        translateY: height / 6,
      },
      1: {
        translateY: 0,
        scale: 1,
        opacity: 1,
      },
    },
    duration: 300,
  }),
  ZOOM_IN_DOWN_RIGHT: (height) => ({
    animation: {
      0: {
        opacity: 0,
        scale: 0.75,
        translateY: -height / 6,
      },
      1: {
        scale: 1,
        translateY: 0,
        opacity: 1,
      },
    },
    duration: 300,
  }),
  BOUNCE_IN: {
    animation: {
      0: {
        opacity: 0,
        scale: 0.3,
      },
      0.2: {
        scale: 1.1,
      },
      0.4: {
        scale: 0.9,
      },
      0.6: {
        opacity: 1,
        scale: 1.03,
      },
      0.8: {
        scale: 0.97,
      },
      1: {
        opacity: 1,
        scale: 1,
      },
    },
    duration: 600,
  },
};
